XEQLBL FF PLTFORM        // FF BINDS PROGRAM NAME PER XEQMINDEX.TXT. PLOT ANY FORMULA, EXAMPLE: SINCPI. Rev. 9

3. EXIT CHS STO 10     // REG10: Lower X
CHS STO 11             // REG11: Higher X
99 STO 12             // REG12: Max step no


  CLSUM
  MULPI                  // SET ADM
  ERPN                   // SET PROGRAM MODE TO ERPN
  DOTD                   // ENSURE IN REAL MODE
  CLGRF                  // CLEAR GRAPH DEFAULTS AND STATS DATA
  TICKS STO 01           // GET CURRENT TIME IN 0.1 SECOND UNITS
  RCL 12                 // GET NUMBER STEPS EG N SAY 100
  1 +
  STO 00                 // CURRENT LOOP COUNTER, N+1 (STARTNO) DECREMENTS AT 0 IT SKIPS
  STO 02                 // LOOP START VALUE STORED
  DROPX DROPX

  LBL M1                 // CREATE LOOPING LABEL. FOUR LABELS AVAILABLE M1, M2, M3, M4
  RCL 02                 // GET THE START VALUE OF THE LOOP COUNTER
  RCL 00 -               // REVERSE THE RANGE TO: 0 TO STARTNO-1

  RCL 02 DECR X 2 IDIV /  // SCALE STEP RANGE [0:(101-1)] TO: ([0:100]/ ((101-1)/2)); i.e. [0:2]
  2 /                    // [0-1]
  RCL 11 RCL 10 - *      // GET TARGET RANGE
  RCL 10 +               // GET TARGET OFFSET
  STO 13                 // NEW x FOR USE IN FORMULA
  ENTER                  // ENSURE TWO COPIES OF x ON STACK, EXPECTS OLD x in Y and new y in X

    GSB M4               // CALL SUBROUTINE TO PRODUCE y IN X AND x IN Y (NO NESTING POSSIBLE)

  X<>Y                   // SHIFT y TO Y AND x TO X

  SUM+                   // USE SUM+ TO SEND TO STATS BUFFER
  DROPX DROPX              // CLEAN UP STACK
  DSZ 00                 // DECREMENT AND SKIP NEXT COMMAND IF RESULT ZERO
  GTO M1                 // THE GTO IS SKIPPED IF RESULT 0

  TICKS                  // GET CLOCK STATUS
  RCL 01 -               // GET STORED CLOCK STATUS. SUBTRACT TO GET EXPIRED TIME
  10 /                   // DIVIDE BY 10 TO GET SECONDS
  ALPHA " SEC" EXIT +    // ADD TEXT

  PLTRST
  P_INT
  PLSTAT                 // PLOTS THE STATS DATA

RETURN                   // STOPS PROCESSING


//---SUBROUTINE----------
LBL M4                   // CALC FUNCTION SUBROUTINE: X and REG13
  SINCPI                 // CALCULATE FUNCTION
RTN                      // RETURN TO MAIN PROGRAM


END                      // OPTIONAL END OF PROCESSING MARKER



